﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using Datos.Entidades;
using Datos.Fabricas;
using Datos.Entidades.FabricaEntidades;
using Logica.Comandos;
using Logica.FabricaLogica;
using System.Xml;

namespace Pruebas
{
     [TestFixture]
    public class PruebaExportarPendrive
    {
         [TestCase]
        public void exportarPendrive()
         {

             string ruta = "C:/PruebaXML/apuestas.xml";
             bool esp = false;
            List<Entidad> listaUsuarios = new List<Entidad>();
            Comando comando = FabricaComandoXML.CrearComandoBuscarXML();

            comando.Ejecutar();
            listaUsuarios = comando.ListaEntidad;

            if (listaUsuarios != null)
            {
                esp = true;
            }
            XmlTextWriter myXmlTextWriter = new XmlTextWriter(ruta, System.Text.Encoding.UTF8);
            myXmlTextWriter.Formatting = Formatting.Indented;
            myXmlTextWriter.WriteStartDocument(false);
            myXmlTextWriter.WriteStartElement("registroApuestas", null);


            for (int i = 0; i < listaUsuarios.Count; i++)
            {

                myXmlTextWriter.WriteStartElement("Apuesta");
                myXmlTextWriter.WriteElementString("idAcceso", null, (listaUsuarios.ElementAt(i) as Acceso).IdAcceso.ToString());
                myXmlTextWriter.WriteElementString("fecha", null, (listaUsuarios.ElementAt(i) as Acceso).Fecha.ToString());
                myXmlTextWriter.WriteElementString("hora", null, (listaUsuarios.ElementAt(i) as Acceso).Hora.ToString());
                myXmlTextWriter.WriteElementString("minuto", (listaUsuarios.ElementAt(i) as Acceso).Min.ToString());
                myXmlTextWriter.WriteElementString("montoApostado", null, (listaUsuarios.ElementAt(i) as Acceso).MontoApostado.ToString());
                myXmlTextWriter.WriteElementString("idEvento", null, (listaUsuarios.ElementAt(i) as Acceso).FkIdEvento.ToString());
                myXmlTextWriter.WriteElementString("idHistorialParticipante", null, (listaUsuarios.ElementAt(i) as Acceso).FkIdHistorialParticipante.ToString());
                myXmlTextWriter.WriteElementString("idMaquina", null, (listaUsuarios.ElementAt(i) as Acceso).FkIdHistorialParticipante.ToString());
                myXmlTextWriter.WriteEndElement();
                Comando comandoModificar = FabricaComandoXML.CrearComandoModificarAcceso((listaUsuarios.ElementAt(i) as Acceso).IdAcceso);
                comandoModificar.Ejecutar();
            }

            myXmlTextWriter.WriteEndElement();
            myXmlTextWriter.Flush();
            myXmlTextWriter.Close();
            Console.ReadLine();
            Assert.AreEqual(esp, true);
        }
    }
}
